Method of generating spreading codes, CDMA transmission apparatus, and CDMA reception apparatus

ABSTRACT

e j(2nπ/N)  calculating section  101  generates a bth chip C(a,b) of an ath spreading code based on C(a,b)=e j(2nπ/N)  where e is a base of natural logarithm and N is a length of the spreading code (i.e. spreading code length). It is assumed in the above equation that n=a×b, a=0˜N−1, and b=0˜N−1. It is thereby possible to generate orthogonal spreading codes with arbitrary lengths.

TECHNICAL FIELD

The present invention relates to a method of generating spreading codes, CDMA transmission apparatus and CDMA reception apparatus, and more particularly, to a method of generating orthogonal spreading codes, and a CDMA transmission apparatus and CDMA reception apparatus using the orthogonal spreading codes.

BACKGROUND ART

Conventionally, in CDMA communication systems, the transmission side spreads a transmission symbol with a spreading code, and the reception side obtains a reception symbol by despreading with the same spreading code. At this point, to prevent interference of signals among channels, it is general to use spreading codes orthogonal to one another among the channels.

A method of generating the orthogonal codes is disclosed in JP H12-115130, for example.

Whether or not the orthogonality is maintained among spreading codes largely affects the communication quality in CDMA communications. Therefore, when the synchronization between spreading codes and similarity of channels is ensured, orthogonal codes are generally used. Actually, all the spreading codes are made synchronized completely on downlink, and even when the multipath exists, it is ensured that all the spreading codes are transmitted on the same channel. Devices are sometimes made for the ensuring on uplink.

Therefore, in CDMA communications, how many more orthogonal codes can be generated efficiently affects the system communication capacity (the number of channels) greatly.

FIG. 1 illustrates a general configuration of a conventional CDMA transmission apparatus, and FIG. 2 illustrates a general configuration of a conventional CDMA reception apparatus. In addition, in FIGS. 1 and 2, for simplicity in descriptions, one-code multiplexing is illustrated as an example. In CDMA transmission apparatus 10, mapping section 12 maps transmission data at predetermined positions on the I-Q plane corresponding to a modulation scheme such as QPSK (Quadrature Phase Shift Keying) and 16 QAM (Quadrature Amplitude Modulation) thereby obtains an I component and Q component, and outputs the I component and Q component to symbol copy section 14 in spreading section 13.

Symbol copy section 14 makes a number of copies of the I components and Q components corresponding to the spreading-factor and outputs to subsequent multiplying section 15. For example, when spreading section 13 performs 4-factor spreading, the section 14 makes four copies of the I components and Q components. Further, spreading codes generated in spreading code generating section 11 are input to multiplying section 15. For example, when 4-factor spreading is performed, spreading code generating section 11 generates spreading codes such as “1, −1, 1, −1” and “1, 1, 1, 1” orthogonal to “1, −1, 1, −1” and input to multiplying section 15.

As a result, multiplying section 15 sequentially multiplies elements of the spreading codes by the I components and Q components, and for example, when the spreading code is “1, −1, 1, −1”, outputs in an order of “I, −I, −I, I” for the I component, while outputting in an order of “Q, −Q, Q, −Q” for the Q component. In addition, the case herein described is that the same spreading code is multiplied by the I component and Q component, but a method using different spreading codes to multiply by the I component and Q component, or a method performing complex multiplication may be adopted.

The I component and Q component thus spread in spreading section 13 are output to quadrature modulation section 17 via filter 16. Quadrature modulation section 17 modulates signals with their phases orthogonal to each other using the I component and Q component, thereby performs quadrature modulation processing, and transmits a quadrature modulated transmission signal via antenna 18.

CDMA reception apparatus 20 as shown in FIG. 2 receives the transmission signal transmitted from CDMA transmission apparatus 10 in antenna 22 and inputs to quadrature demodulation section 23. Quadrature demodulation section 23 multiplies the reception signal by a sine signal or cosine signal orthogonal in phase that is the same signal used on in quadrature modulation section 17 (FIG. 1), and thereby detects the I component and Q component prior to quadrature modulation. The detected I component and Q component are output to multiplying section 26 in despreading section 25 via filter 24.

Spreading codes generated in spreading code generating section 21 are input to multiplying section 26. The spreading codes generated at this point are the same codes as the spreading codes generated in spreading code generating section 11 in CDMA transmission apparatus 10. By this means, the multiplied I component and Q component are respectively “I, I, I, I” and “Q, Q, Q, Q”, for example, in 4-factor spreading.

Inter-symbol adding section 27 adds the same numbers of I components and Q components as the number of copies made in symbol copy section 14 in CDMA transmission apparatus 10, for each component. In 4-factor spreading, the section 27 adds four I components and four Q components, and outputs thus obtained I components and Q components of one item of data to demapping section 28.

Demapping section 28 performs processing inverse to that in mapping section 12 in CDMA transmission apparatus 10, and obtains reception data corresponding to mapping positions of the I components and Q components. It is thus possible to obtain the reception data corresponding to the transmission data transmitted from CDMA transmission apparatus 10.

However, since a sequence of “1, −1” (i.e. either numeric value 1 or −1) is used for spreading codes in conventional CDMA communications, it is inevitable that the length of the code becomes powers of two to generate orthogonal codes having high use efficiency. This imposes a significant restriction on determining parameters of the system such as the length of a frame and a basic clock. For example, when the basic clock is made coincident with that in another system, the design becomes very difficult. Actually, in W-CDMA specified in 3GPP (3rd Generation Partnership Project), the restriction limits the chip rate to 3.84 Mcps, and similarly, in cdma 2000 specified in 3GPP2, the chip rate is 1.228 Mcps.

DISCLOSURE OF INVENTION

It is an object of the present invention to provide a method of generating spreading codes, and CDMA transmission and reception apparatuses enabling generation of spreading codes with arbitrary lengths.

This object is achieved by generating a bth chip C(a,b) of an ath spreading code by the following equation where e is a base of natural logarithm and N is a length of a spreading code (i.e. spreading code length): C(a,b)=e ^(j(2nπ/N))  (1) In Eq. (1), it is assumed that n=a×b, a takes values of 0 to N−1 (a=0˜n−1), and that b takes values of 0 to N−1 (b=0˜N−1).

It is thereby possible to generate spreading codes with orthogonality and arbitrary spreading code lengths N (N is any natural numbers).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a configuration of a conventional CDMA transmission apparatus;

FIG. 2 is a block diagram illustrating a configuration of a conventional CDMA reception apparatus;

FIG. 3 is a block diagram illustrating a configuration of a spreading code generating apparatus of Embodiment 1;

FIG. 4 is a flowchart illustrating procedures of generating spreading codes in the spreading code generating apparatus of Embodiment 1;

FIG. 5 is a block diagram illustrating a configuration of a CDMA transmission apparatus of Embodiment 1;

FIG. 6 is a block diagram illustrating a configuration of a CDMA reception apparatus of Embodiment 1;

FIG. 7A is an explanatory view of orthogonality of spreading codes of the invention;

FIG. 7B is another explanatory view of orthogonality of spreading codes of the invention;

FIG. 7C is another explanatory view of orthogonality of spreading codes of the invention;

FIG. 8A is another explanatory view of orthogonality of spreading codes of the invention;

FIG. 8B is still another explanatory view of orthogonality of spreading codes of the invention;

FIG. 9 is a block diagram illustrating a configuration of a spreading code generating apparatus of Embodiment 2;

FIG. 10 is a block diagram illustrating a configuration of a CDMA transmission apparatus of Embodiment 2;

FIG. 11 is a block diagram illustrating a configuration of a CDMA reception apparatus of Embodiment 2;

FIG. 12 is a block diagram illustrating a configuration of a CDMA transmission apparatus of Embodiment 3;

FIG. 13 is a block diagram illustrating a configuration of a CDMA reception apparatus of Embodiment 3;

FIG. 14 is a view of a code tree to explain Embodiment 4;

FIG. 15 is a block diagram illustrating a configuration of a CDMA transmission apparatus of Embodiment 5;

FIG. 16 is a block diagram illustrating a configuration of a CDMA reception apparatus of Embodiment 5;

FIG. 17 is a block diagram illustrating a configuration of a CDMA transmission apparatus of Embodiment 6; and

FIG. 18 is a block diagram illustrating a configuration of a CDMA reception apparatus of Embodiment 6.

BEST MODE FOR CARRYING OUT THE INVENTION

Embodiments of the present invention will specifically be described below with reference to accompanying drawings.

Embodiment 1

FIG. 3 shows an example of a configuration of a spreading code generating apparatus to implement a method of generating spreading codes of the invention. Spreading code generating apparatus 100 has e^(j(2nπ/N)) calculating section 101. An arbitrary natural number N set in code length setting section 102 is input to e^(j(2nπ/N)) calculating section 101. The section 101 is set for a code number a by code number setting section 103, and further set for a chip number b by chip number setting section 104. Then, n=a×b calculating section 105 multiplies the code number a by the chip number b, and inputs a multiplication value n to e^(j(2nπ/N)) calculating section 101. As a result, e^(j(2nπ/N)) calculating section 101 sequentially generates a bth (b=0˜N−1) chip C(a,b) of an ath (a=0˜N−1) spreading code with an arbitrary length of N.

FIG. 4 shows procedures of generating spreading codes in spreading code generating apparatus 100. Spreading code generating apparatus 100 starts processing in step ST0, and sets a code length N in code length setting section 102 in step ST1. In subsequent step ST2 the apparatus 100 sets 0 on a code number a of code number setting section 103, and further sets 0 on a chip number b of chip number setting section 104 in step ST3.

In subsequent step ST4, the apparatus 100 calculates n in n=a×b calculating section 105, and shifts to step ST5. In step ST5, e^(j(2nπ/N)) calculating section 101 calculates a value of a bth chip C(a,b) of an ath spreading code, and outputs values of C(a,b) of one chip in step ST6.

Next, spreading code generating apparatus 100 shifts to step ST7, determines whether or not the chip number b is N−1, and, when b is not N−1 (actually, when b is less than N−1), shifts to step ST8 to increment the chip number b, and returns to step ST4. Spreading code generating apparatus 100 repeats a loop of steps ST4-ST5-ST6-ST7-ST8-ST4 and thereby generates sequentially chips with chip numbers b starting from 0 to N−1 on a spreading code with the code number a based on the fixed code number a, and thus generates the spreading code with the code length N on the code number a.

When the spreading code with the code length N is generated on the code number a, a positive result is obtained in step ST7, and the apparatus 100 shifts to step ST10 via step ST9 and increments the code number a. Then, spreading code generating apparatus 100 shifts to step ST3, and resets the chip number b to 0. Then, in the same way as described above, the apparatus 100 repeats a loop of steps ST4-ST5-ST6-ST7-ST8-ST4, thereby generates sequentially chips with chip numbers b ranging from 0 to N−1 on a spreading code with the code number a+1 based on the fixed code number a+1, and thus generates the spreading code with the code length N on the code number a+1.

The aforementioned processing is performed until the code number a is N−1 and a positive result is obtained in step ST9. Actually, the processing as shown in FIG. 4 is achieved by constituting chip number setting section 104 of FIG. 3 with a counter that repeatedly counts up the chip number b from 0 to N−1 automatically, and further constituting code number setting section 103 with a counter that counts up a count (i.e. the code number a) from 0 to N−1 whenever chip number setting section 104 outputs 0 as the chip number b.

Thus, according to spreading code generating apparatus 100, it is possible to generate N types (corresponding to the number of code numbers a) of spreading codes with code lengths N. In addition, the case is described in FIG. 4 where the code number a is incremented from 0 to N−1 to generate N types of spreading codes, but it may also be possible to generate only a desired number of spreading codes less than N types. In this case, a criteria value for a in step ST9 is made smaller than N−1.

FIG. 5 shows an example of a CDMA transmission apparatus using the spreading codes of the invention. Further, FIG. 6 shows an example of a CDMA reception apparatus using the spreading codes of the invention. In FIGS. 5 and 6, for simplicity in descriptions, one-code multiplexing is described as an example.

In CDMA transmission apparatus 200, mapping section 202 maps transmission data at predetermined positions on the I-Q plane corresponding to a modulation scheme such as QPSK (Quadrature Phase Shift Keying) and 16 QAM (Quadrature Amplitude Modulation) and thereby obtains an I component and Q component and outputs the I component and Q component to symbol copy section 204 in spreading section 203.

Symbol copy section 204 makes N copies of the I components and Q components corresponding to the spreading-factor to output to subsequent multiplying section 205. For example, when 3-factor spreading is performed in spreading section 203, symbol copy section 204 makes three copies of I components and Q components. Further, spreading codes generated in spreading code generating section 201 are input to multiplying section 205.

Spreading code generating section 201 generates spreading codes based on above-mentioned Eq. (1). Specific examples of configuration are as described in FIG. 3 and FIG. 4. For example, when 3-factor spreading is performed, spreading code generating section 203 generates spreading codes such as “1, 1, 1” and “1, e^(j(2π/3)), e^(j(4π/3))” and “1, e^(j(4π/3)), e^(j(8π/3))” orthogonal to “1, 1, 1” and outputs them to multiplying section 205.

Actually, the spreading code e^(j(2nπ/N)) is a complex number, and in FIG. 5, a real part of the spreading code e^(j(2nπ/N)) output from spreading code generating section 201 is shown by Re{e^(j(2nπ/N))}, while an imaginary part of the code is shown by Im{e^(j(2nπ/N))}. Multiplying section 205 regards the copied I component and Q component as a complex number of I+jQ, and sequentially complex-multiples the complex number by the real part Re{e^(j(2nπ/N))} and the imaginary part Im{e^(j(2nπ/N))} of each chip C(a,b) of the spreading code e^(j(2nπ/N)) with a predetermined code number a. Results of the multiplication are thereby as expressed in following equations. I=I×Re{e ^(j(2nπ/N)) }−Q×Im{e ^(j(2nπ/N))} Q=Q×Re{e ^(j(2nπ/N)) }+I×Im{e ^(j(2nπ/N))}  (2)

Thus, spreading section 205 performs spreading processing using spreading codes e^(j(2nπ/N)), and outputs spread I component and Q component to quadrature modulation section 207 via filter 206. Quadrature modulation section 207, by modulating signals with their phases orthogonal to each other using the I component and Q component, performs quadrature modulation processing and transmits a quadrature modulated transmission signal via antenna 208.

FIG. 6 illustrates a configuration of CDMA reception apparatus 300 that receives a signal transmitted from CDMA transmission apparatus 200. CDMA reception apparatus 300 receives the transmission signal transmitted from CDMA transmission apparatus 200 in antenna 302 to input to quadrature demodulation section 303. Quadrature demodulation section 303 multiplies the reception signal by a sine signal or cosine signal orthogonal in phase that is the same signal used in quadrature modulation section 207 (FIG. 5), and thereby detects the I component and Q component prior to quadrature modulation. The detected I component and Q component are output to multiplying section 306 in despreading section 305 via filter 304.

Spreading codes generated in spreading code generating section 301 are input to multiplying section 306. Spreading code generating section 301 has the same configuration as that of spreading code generating section 201 (FIG. 5) at the transmission side, and generates spreading codes as expressed in Eq. (1) as described above. In addition, among outputs from spreading code generating section 301, the real part Re{e^(j(2nπ/N))} is input to multiplying section 306 without change, while the imaginary part Im{e^(j(2nπ/N))} is input to multiplying section 306 via a sign inverting circuit.

As a result, a spreading code e^(−j(2nπ/N)) that is a complex conjugate of the spreading code e^(j(2nπ/N)) is input to multiplying section 306. In other words, assuming that e is a base of natural logarithm and N is a length of a spreading code (i.e. spreading code length), a spreading code is input such that a bth chip C*(a,b) of an ath spreading code is expressed in the following equation: C*(a,b)=e ^(−j(2nπ/N))  (3) In addition, in Eq. (3), it is assumed that n=a×b, a takes values of 0 to N−1 (a=0˜n−1), b takes values of 0 to N−1 (b=0˜N−1), and that C*(a,b) represents a complex conjugate of C(a,b).

Multiplying section 306 regards the received I component and Q component as a complex number of I+jQ, and sequentially complex-multiples the complex number by the real part Re{e^(−j(2nπ/N))} and the imaginary part Im{e^(−j(2nπ/N))} of each chip C*(a,b) of the spreading code e^(−j(2nπ/N)) with a predetermined code number a. The complex multiplied I component and Q component are output to inter-symbol adding section 307. Inter-symbol adding section 307 adds I components and Q components corresponding to one symbol, for each component.

Thus, despreading section 305 performs despreading processing using spreading codes e^(−j(2nπ/N)), and outputs added I components and Q components corresponding to one symbol to demapping section 308. Demapping section 308 outputs reception data corresponding to mapping positions of the I components and Q components. It is thereby possible to obtain the reception data corresponding to the transmission data.

The reason will be described below why orthogonality is ensured among codes, and symbols spread at the transmission side can be divided with excellence at the reception side, by using spreading codes e^(j(2nπ/N)) generated by the method of generating spreading codes of the invention.

First, it is assumed that an ith symbol is S(a,i) that is spread with a spreading code e^(j(2nπ/N)) (n=a×b, a is fixed, and b=0˜N−1) with a code number a, N copies of the symbol are P(a, i, b), and that the relationship between S(a, i) and P(a, i, b) is expressed by the following equation: S(a,i)=P(a,i,b)  (4) where b=0˜N−1.

A received signal R (a, i, b) of an ith symbol that is spread with the spreading code C(a, b)=e^(j(2nπ/N)) (n=a×b, a is fixed, and b=0˜N−1) is expressed by the following equation: R(a,i,b)=P(a,i,b)·C(a,b)  (5) where a is fixed and b=0˜N−1.

The following equation expresses a despreading result Q(a, i) obtained by despreading the received signal R(a, i, b) with the spreading code C*(a, b)=e^(−j(2nπ/N)) (n=a×b, a is fixed, and b=0˜N−1):

$\begin{matrix} \begin{matrix} {{{Q\mspace{11mu}\left( {a\text{,}i} \right)} = {\sum\limits_{b = 0}^{N - 1}{R\mspace{11mu}{\left( {a\text{,}i\text{,}b} \right) \cdot {C^{*}\left( {a\text{,}b} \right)}}}}}\;} \\ {= {\sum\limits_{b = 0}^{N - 1}{P\mspace{11mu}{\left( {a\text{,}i\text{,}b} \right) \cdot C}\mspace{11mu}{\left( {a\text{,}b} \right) \cdot {C^{*}\left( {a\text{,}b} \right)}}}}} \\ {= {\sum\limits_{b = 0}^{N - 1}{P\mspace{11mu}{\left( {a\text{,}i\text{,}b} \right) \cdot {{C\mspace{11mu}\left( {a\text{,}b} \right)}}^{2}}}}} \\ {= {{\sum\limits_{b = 0}^{N - 1}{P\mspace{11mu}{\left( {a\text{,}i\text{,}b} \right) \cdot 1}}} = {{N \cdot S}\mspace{11mu}\left( {a\text{,}i} \right)}}} \end{matrix} & (6) \end{matrix}$

As a result, as can be seen from Eq. (6), it is possible to extract a signal spread with the ath spreading code with accuracy at the reception side by the spreading code that is a complex conjugate of the ath spreading code.

In contrast thereto, the signal spread with the ath spreading code cannot be extracted by despreading using a spreading code (for example, a+1th spreading code) that is different from the ath spreading code. This will be described below. The case of N=3 is taken as an example. In this case, spreading code generating section 201 generates three spreading codes as described below:

Spreading code 0 (a=0): [1, 1, 1]

Spreading code 1 (a=1): [1, e^(j(2π/3)), e^(j(4π/3))]

Spreading code 2 (a=2): [1, e^(j(4π/3)), e^(j(8π/3))]

As an example, considering the case where a signal spread with spreading code 1 is despread with a complex conjugate of spreading code 2, a despreading result Q(2, i) is as expressed in the following equation:

$\begin{matrix} \begin{matrix} {{{Q\mspace{11mu}\left( {2\text{,}i} \right)} = {\sum\limits_{b = 0}^{2}{R\mspace{11mu}{\left( {l\text{,}i\text{,}b} \right) \cdot {C^{*}\left( {2\text{,}b} \right)}}}}}\;} \\ {= {{P\mspace{11mu}{\left( {l\text{,}i\text{,}b} \right) \cdot 1 \cdot 1}} + {P\mspace{11mu}{\left( {1\text{,}i\text{,}1} \right) \cdot}}}} \\ {{{\mathbb{e}}^{j\frac{2\pi}{3}} \cdot {\mathbb{e}}^{{- j}\frac{4\pi}{3}}} + {P\mspace{11mu}{\left( {l\text{,}i\text{,}2} \right) \cdot {\mathbb{e}}^{j\frac{4\pi}{3}} \cdot {\mathbb{e}}^{{- j}\frac{8\pi}{3}}}}} \\ {= {{P\mspace{11mu}\left( {1\text{,}i\text{,}0} \right)} + {P\mspace{11mu}{\left( {1\text{,}i\text{,}1} \right) \cdot {\mathbb{e}}^{{- j}\frac{2\pi}{3}}}} + {P\mspace{11mu}{\left( {1\text{,}i\text{,}2} \right) \cdot {\mathbb{e}}^{{- j}\frac{4\pi}{3}}}}}} \\ {= {{S\mspace{11mu}\left( {1\text{,}i} \right)} + {S\mspace{11mu}\left( {1\text{,}i} \right)\left\{ {{- \frac{1}{2}} - {j\frac{\sqrt{3}}{2}}} \right\}} + {S\mspace{11mu}\left( {1\text{,}i} \right)\left\{ {{- \frac{1}{2}} - {j\frac{\sqrt{3}}{2}}} \right\}}}} \\ {= 0} \end{matrix} & (7) \end{matrix}$

As can be seen from Eq. (7), when the despreading processing is performed using a spreading code different from that when spreading, the despreading result is 0. In other words, it is understandable that spreading codes generated in spreading code generating section 201 are orthogonal to one another. This relationship holds for any natural numbers N and any combinations of spreading codes. In other words, spreading code generating section 201 is capable of generating N orthogonal spreading codes with respect to any natural number N.

Referring to FIGS. 7 and 8, orthogonality of spreading codes obtained in the invention will be described below more specifically. FIGS. 7A, 7B and 7C respectively show spreading codes 0 to 2 (a=0˜2) with the spreading-factor of 3 on a two dimensional plane.

FIG. 8A shows a result obtained by despreading a signal spread with spreading code 2 (a=2) with a complex conjugate of spreading code 2, and FIG. 8B shows a result obtained by despreading a signal spread with spreading code 1 (a=1) with a complex conjugate of spreading code 2.

As shown in FIG. 8A, when the signal spread with spreading code 2 (a=2) is despread with the complex conjugate of spreading code 2, three chips are added in phase, in other words, all of vectors of C(2, 0), C(2, 1) and C(2, 2) in FIG. 8A direct in the same direction, and the signal spread with spreading code 2 can be extracted with accuracy.

In contrast thereto, as shown in FIG. 8B, when the signal spread with spreading code 1 is despread with the complex conjugate of spreading code 2, three chips resulting from multiplying C*(2, 0), C*(2, 1) or C*(2, 2) direct in different directions spaced 120° from one another, and the despreading result is 0. It is thus understandable that despreading with different spreading codes results in 0 (i.e. being orthogonal). The same results can be obtained in combinations of other spreading codes and any numbers N.

Thus, according to this Embodiment, since spreading codes are generated as expressed in Eq. (1), it is possible to generate spreading codes with arbitrary lengths orthogonal to one another. It is thereby possible to make it easy to design a CDMA system, for example.

In addition, the method of generating spreading codes of the invention is similar to the case of generating each orthogonal signal in OFDM. Subcarriers orthogonal to one another are generated in OFDM. The spreading codes generated in the invention correspond to 0 Hz to (N−1) Hz in OFDM. However, the actual use and effects are greatly different from those in OFDM, and it is possible to obtain processing that cannot be implemented in OFDM and specific effects that cannot be obtained in OFDM, by using as spreading codes. The differences from OFDM will be described below.

When N subcarriers are generated in OFDM, the same signal sequence as C(a,b) shown in Eq. (1) is used as a time waveform. However, the time waveform itself transmitted to air is generated by such a method in OFDM. In other words, a signal generated in OFDM is a continuous time waveform, and when the continuity is interrupted, the transmission spectrum is significantly affected, and spreading of the spectrum out of the band become extremely large. Therefore, in OFDM, only extremely minute processing such as filtering that limits the entire band can be performed on the time waveform in a range of FFT. Extensive processing causes significant deterioration in performance and in transmission spectrum.

In contrast thereto, it is fundamental in the invention using spreading codes generated in Eq. (1) in CDMA, and the invention enables chips subsequent to spreading to be treated independently. In other words, it is possible to provide chips with any processing (process). For example, chip may be provided with some processing as performed in general CDMA such as band limitations for chip with a root Nyquist filter, unequal chip intervals, insertion of an chip of another signal (such as a pilot signal and control signal) in between chips, change in the chip order and scrambling.

In particular, by using a method of changing the order of chips as described later in Embodiment 2 or a method of performing scrambling as described later in Embodiment 3, a new effect is produced that makes it possible to use OFDM used only in an isolated cell in cellular with interference with other cells. In other words, in OFDM, since Eq. (1) is used for generating orthogonal subcarriers, a temporally-continuous time waveform is generated and processing on the waveform is limited to severely restricted processing. In contrast thereto, in the invention, since spreading codes are generated using Eq. (1), various processing can be performed on spread chips. Further, in performing various processing, the code length is not limited to power-of-two, and it is thereby possible to diversify a configuration of an apparatus to perform each processing.

As can be seen from the foregoing, the invention features using codes of waveforms similar in OFDM, but is distinguished in subject of use, and results in splendid differences in the effect. In addition, signals cannot be divided for each path in OFDM, but in CDMA where band limitations are performed for chips using a root Nyquist filter and the like, since it is possible to separate paths as in general CDMA, the diversity effect can be obtained by RAKE reception.

Embodiment 2

A feature of this Embodiment is changing the order of chips in spreading codes generated based on Eq. (1).

In order to change the order of chips, chip interleaving can be performed after generating spreading codes with a code length N based on Eq. (1), or a spreading code with the order of chips changed can first be generated by performing calculation as shown in the following equation: C(a,b)=e ^(j(2f(n)π/N))  (8) In Eq. (8), f(n) is a function to arbitrarily change the order on an input n in one-to-one correspondence, and for example, on the condition that n=3, is a function such that f(0)=1, f(1)=0, and f(2)=2.

FIG. 9 shows an example of a configuration of a spreading code generating apparatus to implement Eq. (8). In FIG. 9 with the same reference numerals assigned to corresponding sections in FIG. 3, spreading code generating apparatus 400 has the same configuration as that of spreading code generating apparatus 100 in FIG. 3, except provision of e^(j(2f(n)π/N)) calculating section 401 as a substitute for e^(j(2nπ/N)) calculating section 101 (in addition, e^(j(2f(n)π/N)) calculating section 401 has the same configuration as that of e^(j(2nπ/N)) calculating section 101 except an input value of f(n) that is different from n) and provision of f(n) transform section 402 that transforms a numeric value n obtained in n=a×b calculating section 105 into another numeric value f(n).

FIG. 10 shows an example of a CDMA transmission apparatus of this Embodiment with the same reference numerals assigned to corresponding sections in FIG. 5. FIG. 11 shows an example of a CDMA reception apparatus of this Embodiment with the same reference numerals assigned to corresponding sections in FIG. 6. The difference between CDMA transmission apparatus 500 in this Embodiment and CDMA transmission apparatus 200 in Embodiment 1 is that CDMA transmission apparatus 500 generates a spreading code with the chip order changed in spreading code generating section 501 and performs spreading processing using the spreading code. Similarly, the difference between CDMA reception apparatus 600 in this Embodiment and CDMA reception apparatus 300 in Embodiment 1 is that CDMA reception apparatus 600 generates a spreading code with the chip order changed in spreading code generating section 601 and performs despreading processing using the spreading code. Spreading code generating sections 501 and 601 can be configured as shown in FIG. 9, for example.

By this means, the transmission side is capable of performing the spreading processing on a transmission signal while changing the order of chips of spreading codes with an arbitrarily code length N orthogonal to one another, and the reception side is capable of extracting a desired signal with accuracy from a code division multiplexed signal.

Thus, in this Embodiment, in addition to the configuration of Embodiment 1, chips of a spreading code are changed as appropriate, and for example, following effects can be obtained.

An effect of averaging the correlation among codes: When a spreading-factor is large, there is a possibility that a channel is changed between the first chip and the last chip, and in this case, the orthogonality among particular codes largely deteriorates and increases the correlation among the codes. Even in such a case, by changing the order of chips, it is possible to average the correlation so that almost the same correlation is obtained among all the spreading codes not depending on the spreading codes. It is thus possible to improve the effect of error correcting code, and make it easy to cancel interference by correlation (despreading).

An effect of reducing interference with other cells: By making the order of chips different from those in other cells (assigning different order variation patterns for each cell), it is possible to average the correlation with the other cells, and obtain almost the same effect as in scrambling.

An effect of randomizing the influence of multipath: Interference occurs among chips when multipath exists, but randomizing the order of chips randomizes occurrences of interference, and as a result, it is possible to improve the effect of error correcting code and facilitate cancellation of interference by correlation (despreading).

Embodiment 3

FIG. 12 illustrates a configuration of a CDMA transmission apparatus of this Embodiment with the same reference numerals assigned to corresponding sections in FIG. 10. CDMA transmission apparatus 700 has scrambling code generating section 701, and multiples in multiplying section 702 a spread signal by a scrambling code generated in scrambling code generating apparatus 701. FIG. 13 illustrates a configuration of a CDMA reception apparatus of this Embodiment that receives and demodulates a signal from CDMA transmission apparatus 700, with the same reference numerals assigned to corresponding sections in FIG. 11. CDMA reception apparatus 800 has scrambling code generating section 801, and multiples in multiplying section 802 a signal prior to despreading by a scrambling code generated in scrambling code generating apparatus 801. Naturally, scrambling code generating section 801 generates the same scrambling code as in scrambling code generating section 701.

In the aforementioned configuration, CDMA transmission apparatus 700 of this Embodiment performs scrambling processing, in addition to performing the spreading processing using spreading codes generated in spreading code generating section 501. The scrambling processing is general processing to enable distinguishing from other cells in CDMA communications. Further, in this Embodiment, by performing the scrambling processing in a combination with spreading codes of the invention as described above, as well as the distinguishing from other cells, following specific effects are produced which cannot be obtained in general CDMA communications.

First, it is possible to reduce the correlation among chips. In general CDMA, a phase between chips is 0, π or ±π/4, and a phase difference between chips varies with the spreading code, and the effect of a delay signal differs to some extent for chips and is averaged. In contrast thereto, when spreading codes of the invention are used and rearrangement of chips is assumed not to be performed, since the phase differences between chips are equal in any spreading codes, the effect of a delay signal causes the correlation between chips. Taking this respect into account, it is desirable to randomize phase differences among spreading codes by performing the scrambling processing as in this Embodiment. It is thereby possible to enhance the error correcting capability at the reception side.

Further, when the scrambling processing is performed in addition to using spreading codes of the invention as in this Embodiment, it is possible to use codes other than [1, −1] as scrambling codes. In other words, when scrambling codes are generated, it is possible to generate scrambling codes with arbitrary lengths and periods and the order thereof changed by the same method as the method of generating spreading codes as described above. It is thereby possible to set the length of a scrambling code with ease and generate the code readily.

Thus, according to this Embodiment, the scrambling processing is performed as well as using spreading codes described in Embodiments 1 and 2, whereby in addition to the advantageous effects of Embodiments 1 and 2, it is possible to further improve error rate characteristics at the reception side, and to increase the number of usable scrambling codes.

In addition, while this Embodiment describes the case of multiplying a spread signal by a scrambling code, but the invention is not limited to such a case, and the same advantageous effects as in the aforementioned Embodiment can be obtained in the cases of multiplying a transmission signal prior to spreading or a spreading code itself by a scrambling code.

Embodiment 4

A feature of this Embodiment is generating spreading codes of the invention using a hierarchical code tree. It is thereby possible to generate more spreading codes while maintaining the orthogonality. The code tree has been used conventionally as a method of generating spreading codes with different spreading-factors orthogonal to one another, and for example, OVSF (Orthogonal Variable Spreading-Factor) codes are one example of spreading codes generated using the code tree.

FIG. 14 shows a code tree of this Embodiment. The code tree is to make codes with different spreading-factors orthogonal to each other, and for example, enables a 3-spreading-factor code and a 9-spreading-factor code to be orthogonal to each other. Further, it is possible to make codes with any lengths orthogonal to each other when a code has a length of an integral multiple of that of another code (basic code) with the smallest spreading-factor, as in 3-f spreading actor and 15-spreading factor. It is only required in the code tree that the spreading-factor of some code is an integral multiple of that of an upper code, and it is thus possible to make a 15-spreading-factor code and a 9-spreading factor code orthogonal to each other. Further, any hierarchical levels are available.

In the example of FIG. 14, a basic code has a spreading-factor of 3. X([A, B]) represents a Bth code with a spreading-factor of A. A code generated based on X([A, B]) is represented by X([A, B][C, D]) which represents a Dth code with the spreading-factor obtained by multiplying the spreading-factor of X([A, B]) by C. X([A, B])|X([A, B]) represents generating a code with the length twice as long as that of X ([A, B]) by arranging two X([A, B]) in a row. Similarly, X([A, B])|X([A, B]) Y|X ([A, B]) Z represents generating a code with the length three times as long as that of X([A, B]) by arranging X([A, B]), X([A, B]) multiplied by Y and X([A, B]) multiplied by Z in a row.

The OVSF codes conventionally used in CDMA are a specific case among the aforementioned codes, and the spreading-factor is always increased by two times. However, the spreading codes of the invention can generate orthogonal codes other than powers of two and therefore, as shown in FIG. 14, it is possible to generate codes with arbitrary spreading-factors.

In addition, by using the code tree, it is possible to generate codes all orthogonal to one another even in codes with different spreading codes (for example, in the example of FIG. 14, X([3, 1][2, 1][3, 1]) with the spreading-factor of 18 and X([3, 1][3, 2]) with the spreading-factor of 9. However, as in the OVSF codes, upper codes of an already used code cannot be used (for example, X([3, 1][2, 1]) and X([3, 1]) cannot be used when X([3, 1][2, 1][3, 1]) is used).

An advantage will be described below when spreading codes of the invention are generated using the code tree. The effect of generating the spreading codes of the invention using the code tree is the same as in the OVSH codes in such a respect that codes with different spreading-factors can be made orthogonal and multiplexed.

However, when the spreading codes of the invention are generated using the code tree, it is possible to generate spreading codes orthogonal to one another in spreading-factors very close to the basic-factor such as 18-factor spreading and 15-factor spreading, if only the basic spreading-factor (3 in the example of FIG. 14) is the same. It is thus possible to efficiently use resources remaining small odd resources in retransmission and the like, and facilitate a fine adjustment of resource allocation.

For example, with respect to the quality of communications, in the case where 16-factor spreading provides slightly less quality in 16 QAM (Quadrature Amplitude Modulation), while providing excessively adequate quality in QPSK (Quadrature Phase Shift Keying) the use has conventionally been limited to 16 QAM in 32-factor spreading or QPSK in 16-factor spreading. Such use is insufficient in effective use of resources.

In contrast thereto, the spreading codes of the invention generated using the code tree enable use of 16QAM in 18-factor spreading (if still insufficient, in 21-factor spreading), while inversely enabling use of QPSK in 15-factor spreading (if allowed more, in 12-factor spreading or 9-factor spreading).

Thus, according to this Embodiment, the spreading codes of the invention are generated using a hierarchical code tree, whereby in addition to the advantageous effects of Embodiment 1, it is possible to generate spreading codes with various spreading-factors while maintaining the orthogonality and enabling effective use of resources.

Embodiment 5

This Embodiment proposes performing collectively generation of spreading codes of the invention and spreading processing at a transmission side using an inverse Fourier transformer (IDFT), and further proposes performing collectively generation of spreading codes of the invention and despreading processing at a reception side using a Fourier transformer (DFT). It is thereby possible to reduce amounts of calculation.

FIG. 15 illustrates a configuration of a CDMA transmission apparatus of this Embodiment with the same reference numerals assigned to corresponding sections in FIG. 5. CDMA transmission apparatus 900 inputs transmission data #1 to #3 to three-point inverse Fourier transformer (IDFT) 901 via mapping sections (mapping #1 to #3) 202A to 202C respectively.

Three-point IDFT 901 performs inverse Fourier transform processing on three inputs, and is thus capable of performing processing equal to generating three spreading codes corresponding to the case of N=3 in Eq. (1) and spreading transmission data #1 to #3 respectively with the three spreading codes. N-point inverse Fourier transform processing is a well-known technique, and not described specifically herein, but inverse Fourier transform enables the processing of spreading code generating section 201 and spreading section 203 in FIG. 5 to be collectively performed. It is thus possible to obtain the same spread signal as a code division multiplexed signal obtained by spreading transmission data #1 to #3 with spreading codes of Eq. (1) with a simplified configuration and with a small amount of calculation.

FIG. 16 illustrates a configuration of CDMA reception apparatus 1000 that receives and demodulates a code division multiplexed signal transmitted from CDMA transmission apparatus 900, with the same reference numerals assigned to corresponding sections in FIG. 6. In CDMA reception apparatus 1000, I and Q components of a code division multiplexed signal output from filter 304 is input to three-point discrete Fourier transformer (DFT) 1001.

Three-point DFT 1001 performs three-point Fourier transform processing on an input signal, and is thus capable of performing processing equal to generating three spreading codes corresponding to the case of N=3 in Eq. (3) and despreading the code division multiplexed signal using the three spreading codes. N-point Fourier transform processing is a well-known technique as well as the N-point inverse Fourier transform processing, and not described specifically herein, but Fourier transform enables the processing of spreading code generating section 301 and despreading section 305 in FIG. 6 to be collectively performed. It is thus possible to divide the code division multiplexed signal into reception data #1 to #3 corresponding to transmission data #1 to #3 prior to multiplexing using spreading codes of Eq. (3) with a small amount of calculation and with a simplified configuration.

When generating spreading codes of the invention and performing the spreading or despreading processing using the spreading codes simply, a calculation amount of the order of a square of the number (N) of codes is required, but using IDFT or DFT as in this Embodiment requires a calculation amount of only of the order of log(N).

Thus, according to this Embodiment, the spreading processing using the spreading codes of the invention with inverse Fourier transformer 901 makes it possible to implement CDMA transmission apparatus 900 having a small amount of calculation, and the despreading processing using the spreading codes of the invention with Fourier transformer 1001 makes it possible to implement CDMA reception apparatus 1000 having a small amount of calculation.

In addition, as described in Embodiment 2, when the order of chips is changed at the transmission side, the reception side restores the order of chips and then performs DFT processing (or, input lines to DFT 1001 are adapted to the changed order of chips).

Further, as described in Embodiment 3, when the scrambling processing is performed at the transmission side, descrambling processing and then DFT processing are performed at the reception side.

Furthermore, this Embodiment describes the configuration of the case where transmission data #1 to #3 of three users is code division multiplexed and transmitted as one example, but the invention is not limited to the case where transmission data #1 to #3 of three users is code division multiplexed, and using N-point IDFT enables code division multiplexing of an arbitrary number N of items of transmission data.

Embodiment 6

In this Embodiment, as a method of reducing an amount of calculation when transmission and reception is performed using spreading codes with different spreading-factors as in Embodiment 4, proposed are a CDMA transmission apparatus where an inverse discrete Fourier transformer is cascaded as appropriate and a CDMA reception apparatus where a discrete Fourier transformer is cascaded as appropriate. In other words, in using spreading codes with different spreading-factors, IDFT (transmission side) or DFT (reception side) is used hierarchically.

FIG. 17 illustrates a configuration of CDMA transmission apparatus 1100 of this Embodiment with the same reference numerals assigned to corresponding sections in FIG. 15. FIG. 17 shows an example of using five spreading codes with the spreading-factor of 15, three spreading codes with the spreading-factor of 9, and a spreading code with the spreading-factor of 3. In CDMA transmission apparatus 1100, transmission data #1 to #5 is input to five-point IDFT 1101 via mapping section 202, and five transmission data items #1 to #5 are thereby code division multiplexed using spreading codes with the spreading-factor of 5 (N=5 in Eq. (1)) by five-point IDFT. The code division multiplexed signal is input to three-point IDFT 1103.

Further, in CDMA transmission apparatus 1100, transmission data #6 to #8 is input to three-point IDFT 1102 via mapping section 202, and three transmission data items #6 to #8 are thereby code division multiplexed using spreading codes with the spreading-factor of 3 (N=3 in Eq. (1)) by three-point IDFT 1102. The code division multiplexed signal is input to three-point IDFT 1103.

Three-point IDFT 1103 receives the code division multiplexed signal from five-point IDFT 1101, the code division multiplexed signal from three-point IDFT 1102, and transmission data #9 via mapping section 202. Three-point IDFT 1103 code division multiplexes three inputs using spreading codes with spreading-factor of 3. As a result, three-point IDFT obtains a code division multiplexed signal of transmission data #1 to #5 spread in the spreading-factor of 15, transmission data #6 to #8 spread in the spreading-factor of 9, and transmission data #9 spread in the spreading-factor of 3.

Thus, by cascading a plurality of IDFTs 1101 to 1103, it is possible to perform the processing equal to code division multiplexing of transmission data using spreading codes with different spreading-factors.

FIG. 18 illustrates a configuration of a CDMA reception apparatus that receives and demodulates a signal transmitted from CDMA transmission apparatus 1100, with the same reference numerals assigned to corresponding sections in FIG. 16. In CDMA reception apparatus 1200, an output from filter 304 is first input to three-point DFT 1201. Three-point DFT 1201 outputs three outputs obtained by performing inverse Fourier transform operation corresponding to the despreading processing using spreading codes with the spreading-factor of 3 respectively to five-point DFT 1202, three-point DFT 1203 and demapping section 308 (demapping section #9).

Five-point DFT 1202 performs Fourier transform operation corresponding to the despreading processing using spreading codes with the spreading-factor of 5, and thereby obtains reception data #1 to #5 corresponding to transmission data #1 to #5. Further, three-point DFT 1203 performs Fourier transform operation corresponding to the despreading processing using spreading codes with the spreading-factor of 3, and thereby obtains reception data #6 to #8 corresponding to transmission data #6 to #8.

Thus, by cascading a plurality of DFTs 1201 to 1203 as appropriate, it is possible to restore each data prior to code division multiplexing from a signal obtained by code division multiplexing using spreading codes with different spreading codes.

In addition, CDMA transmission apparatus 1100 in FIG. 17 uses IDFTs in all hierarchical levels, and performs operation corresponding to generation of spreading codes of the invention and spreading, but the invention is not limited to such a case. In other words, in CDMA transmission apparatus 1100 in FIG. 17, as the hierarchical level increases, an input rate of the IDFT is increased, and the heaviest load is imposed on the last stage, IDFT 1103, in terms of operation power. In consideration thereof, even when IDFT 1103 is used only in the last stage and general matched filters are used substituting for prior stages, IDFTs 1101 and 1102, it is possible to reduce a significant amount of calculation.

Further, CDMA reception apparatus 1200 in FIG. 18 uses DFTs also in all hierarchical levels, and performs operation corresponding to generation of spreading codes of the invention and despreading, but the invention is not limited to such a case. In other words, in CDMA reception apparatus 1200 in FIG. 18, as the hierarchical level decreases, an input rate of the DFT is decreased (a signal with the chip rate is input to the first stage, DFT 1201, and signals with the rate one-third the chip rate are input to second stage, three-point DFT 1203 and five-point DFT 1202), and the heaviest load is imposed on the first stage, DFT 1201, in terms of operation power. In consideration thereof, even when only DFT 1201 is used in the first stage and general matched filters are used substituting for subsequent stages, DFTs 1202 and 1203, it is possible to reduce a significant amount of calculation. In addition, the spreading-factor of the first stage (spreading-factor of a basic code) in the code tree is the same in all the spreading codes, and therefore, it is always possible to use a DFT as the first stage.

Thus, according to this Embodiment, in using spreading codes with different spreading-factors as explained in Embodiment 4, hierarchical spreading processing is performed by cascading inverse discrete Fourier transformers 1101 to 1103 as appropriate, and it is thereby possible to implement CDMA transmission apparatus 1100 enabling reduction in an amount of calculation in using spreading codes with different spreading-factors. Similarly, in using spreading codes with different spreading-factors as explained in Embodiment 4, hierarchical despreading processing is performed by cascading discrete Fourier transformers 1201 to 1203 as appropriate, and it is thereby possible to implement CDMA reception apparatus 1200 enabling reduction in an amount of calculation in using spreading codes with different spreading-factors.

The present invention is not limited to the aforementioned Embodiments, and is capable of being carried into practice with various modifications thereof.

In an aspect of a method of generating spreading codes of the invention, a bth chip C(a,b) of an ath spreading code is generated by a following equation when it is assumed that e is a base of natural logarithm and N is a length of the spreading code (i.e. spreading code length): C(a,b)=e ^(j(2nπ/N))  (1) where n=a×b, a=0˜N−1, and b=0˜N−1.

According to this method, it is possible to generate spreading codes with orthogonality and an arbitrary spreading code length N (N is any natural numbers).

In another aspect of the method of generating spreading codes, spreading codes with different spreading code length are generated by successively multiplying N in Eq. (1) by k (k is positive integers).

According to this method, it is possible to generate more spreading codes while maintaining the orthogonality. Actually, spreading codes with different spreading code length are generated hierarchically using a code tree, and in the invention, since it is possible to generate orthogonal codes while being not limited to codes of powers of two unlike the conventional case, it is possible to generate spreading codes with arbitrary spreading-factors. As a result, fine adjustments can be made to resources, in addition to further increases in the number of spreading codes.

An aspect of a CDMA transmission apparatus of the invention adopts a configuration provided with a spreading code generator that generates a bth chip C(a,b) of an ath spreading code by a following equation when it is assumed that e is a base of natural logarithm and N is a length of the spreading code (i.e. spreading code length): C(a,b)=e ^(j(2nπ/N))  (1) where n=a×b, a=0˜N−1, and b=0˜N−1, and with a spreader that spreads a transmission signal using the spreading code generated in the spreading code generator.

According to this configuration, it is possible to generate spreading codes with orthogonality and an arbitrary spreading code length N (N is any natural numbers). As a result, by using the CDMA transmission apparatus of the invention, versatility is increased in frame length, basic clock and the like in a system, and it is thereby possible to facilitate the design of the CDMA system.

Another aspect of the CDMA transmission apparatus of the invention adopts a configuration where the spreading code generator rearranges the order of chips of the spreading code generated in Eq. (1) for spreading codes.

According to this configuration, for example, even when the channel variation occurs at high speed, it is possible to average the correlation among spreading codes, and it is thus possible to enhance the effect of error correcting code and to facilitate cancellation of interference by the correlation (despreading).

Another aspect of the CDMA transmission apparatus of the invention adopts a configuration further provided with a scrambler that multiplies the transmission signal, the spreading code or a spread signal by a scrambling code.

According to this configuration, in addition to the cell distinguishing effect, the correlation among chips can be reduced, and it is thus possible to further improve error rate characteristics on the reception side. A combination with spreading codes of the invention increases the number of usable scrambling codes.

Another aspect of the CDMA transmission apparatus of the invention adopts a configuration where the spreading code generator generates spreading codes with different spreading code length by successively multiplying N in Eq. (1) by k (k is positive integers).

According to this configuration, it is possible to generate more spreading codes while maintaining the orthogonality, and to further increase an amount of data concurrently transmissible. Moreover, since orthogonal codes can be generated being not limited to codes of powers of two, it is possible to generate spreading codes with arbitrary spreading-factors. As a result, it is possible to further increase the number of spreading codes to increase an amount of data concurrently transmissible, and to make fine adjustments to resources.

In another aspect of the CDMA transmission apparatus of the invention, an inverse discrete Fourier transformer is applied as to the spreading code generator and the spreader.

According to this configuration, it is possible to perform spreading processing using spreading codes expressed in Eq. (1) with a small amount of calculation.

In still another aspect of the CDMA transmission apparatus of the invention, a plurality of cascaded inverse discrete Fourier transformers is applied as the spreading code generator and the spreader, and performs inverse discrete Fourier transform on a transmission signal hierarchically.

According to this configuration, it is possible to reduce an amount of calculation when spreading processing is performed using spreading codes with different spreading-factors while hierarchically using the spreading codes as expressed in Eq. (1).

An aspect of a CDMA reception apparatus of the invention adopts a configuration provided with a spreading code generator that generates a bth chip C(a,b) of an ath spreading code by a following equation when it is assumed that e is a base of natural logarithm and N is a length of the spreading code (i.e. spreading code length): C*(a,b)=e ^(j(2nπ/N))  (3) where n=a×b, a=0˜N−1, and b=0˜N−1, and with a despreader that despreads a received signal using the spreading code generated in the spreading code generator.

In another aspect of the CDMA reception apparatus of the invention, a discrete Fourier transformer is applied to constitute the spreading code generator and the despreader.

In still another aspect of the CDMA reception apparatus of the invention, a plurality of cascaded discrete Fourier transformers is applied to the spreading code generator and the despreader, and performs discrete Fourier transform on a received signal hierarchically.

As described above, according to the present invention, it is possible to generate orthogonal spreading codes with arbitrary lengths. As a result, versatility is increased in frame length, basic clock and the like in a CDMA system, and it is thereby possible to facilitate the design of the CDMA system.

This application is based on the Japanese Patent Application No. 2003-272882 filed on Jul. 10, 2003, entire content of which is expressly incorporated by reference herein.

INDUSTRIAL APPLICABILITY

The present invention is suitable for use in a cellular telephone, base station and the like, for example. 

1. A CDMA transmission apparatus comprising: a spreading code generator that generates a b^(th) chip C(a,b) of an a^(th) spreading code by a following equation, C(a,b)=e ^((2nπ/N)) where e is a base of natural logarithm, N is a length of the spreading code, n=a×b, a=0˜N−1, and b=0˜N−1; and a spreader that spreads a transmission signal using the spreading code generated in the spreading code generator, wherein: a plurality of cascaded inverse discrete Fourier transformers are used to constitute the spreading code generator and the spreader, and perform inverse discrete Fourier transform on the transmission signal hierarchically.
 2. A CDMA reception apparatus comprising: a spreading code generator that generates a b^(th) chip C(a,b) of an a^(th) spreading code by a following equation, C*(a,b)=e ^(−j(2nπ/N)) where e is a base of natural logarithm, N is a length of the spreading code, n=a×b, a=0˜N−1, and b=0˜N−1; and a despreader that despreads a received signal using the spreading code generated in the spreading code generator, wherein a plurality of cascaded discrete Fourier transformers are used to constitute the spreading code generator and the despreader, and perform discrete Fourier transform on the received signal hierarchically. 